/**
 *
什么是函数传递？
1. 在程序运行过程中，将实际参数的值或者地址传递给被调用函数的形式参数，从而在函数中完成对数据的处理和返回的过程。
2. 在C语言中，参数的传递方式本质上只有一种，就是值传递。但是为了更好地区分理解，划分了三种方式：
  a. 全局变量
    ⅰ. 全局变量就是在函数体外说明的变量
    ⅱ. 一经定义后就可以在程序的任何地方可见
    ⅲ. 函数的调用位置不同，程序的执行结果可能会受到影响。不建议使用。
  b. 值传递方式
    ⅰ. 调用函数将实参传递给被调用函数，被调用函数将创建同类型的形参并用实参初始化。
    ⅱ. 形参是新开辟的存储空间，在函数中改变形参的值，不影响到实参。
  c. 指针（地址）传递方式
    ⅰ. 按地址传递，实参为变量的地址，而形参为同类型的指针。
    ⅱ. 被调用函数中对形参的操作，将直接改变实参的值。
    ⅲ. 被调用函数对指针的目标操作，相当于对实参本身的操作。

before: 5 10 
before: 10 5 

 */
#include<stdio.h>

void swap(int *a, int *b);

int main(){
	int a = 5;
	int b= 10;

	printf("before: %d %d \n",a ,b);
	swap(&a, &b);	
	printf("before: %d %d \n",a ,b);
}


void swap(int *a, int *b){
	int tmp = *a;
	*a = *b;
	*b = tmp;
}
